home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 5647 < prev    next >
Encoding:
Text File  |  1996-08-05  |  6.1 KB  |  152 lines

  1. Path: in2.uu.net!nectec!usenet
  2. From: sakchait@mozart.inet.co.th (PCO at BOET)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: Getting real world marketable experience in C++
  5. Date: Mon, 05 Feb 1996 02:10:09 GMT
  6. Organization: National Electronics and Computer Technology Center, Bangkok
  7. Message-ID: <4f3org$b1o@senior.nectec.or.th>
  8. References: <26404B9307B@cc.emu.edu>
  9. NNTP-Posting-Host: mozart.inet.co.th
  10. X-Newsreader: Forte Free Agent v0.46
  11.  
  12. Micah K Yoder <YODERMK@cc.emu.edu> wrote:
  13.  
  14. >Hi!
  15.  
  16. >I'm a CS major at a small university and am wondering what it takes 
  17. >to get marketable experience in C++.  Our CS department has some 
  18. >strong points (few students means more involvement on the campus 
  19. >network development), but I'm a little worried because we haven't had 
  20. >any real experience.  I've heard of other college students having to 
  21. >write Pascal compilers, but our homework is generally little snippets 
  22. >to help us understand concepts.  I'm a senior now and will be 
  23. >graduating in three months, and our school has only intoduced C++ 
  24. >this semester!  (We'd been using Pascal before then, but I started 
  25. >teaching myself C++ a couple years ago.)
  26. etc.
  27.  
  28. Micah,
  29.  
  30. You've asked a good question and I think it deserves a good answer.  I
  31. only wish that I had one.
  32. I've seen no replies to your USENET message so I'll post what answers
  33. I have.  The following
  34. comments relate more to general experience and are not c++ specific.
  35. First a disclaimer:  I have
  36. not lived or worked in North America since the late 80's so have no
  37. first-hand knowledge of the
  38. OO/c++ job market.  I may be way off base, in which case you may learn
  39. something from the
  40. flames thus provoked.
  41.  
  42. "There is no substitute for experience".  I don't really think that
  43. even the world's best OO board
  44. game will cut much ice with an employer.  Unless, that is, you're
  45. applying for a job writing board
  46. games.  This brings us to the all too familiar catch-22 of the late
  47. 80's and 90's: not being able to
  48. get hired and gain experience because you don't have enough experience
  49. to get hired.  What to
  50. do?
  51.  
  52. My suggestion is to stop worrying about getting a job and start
  53. thinking about how to get some
  54. real world experience.  What you can do is to find a small business or
  55. organization that could
  56. benefit from your skills, but which could not afford to hire a
  57. professional.  Local volunteer or
  58. charitable organizations would be a good place to start looking.
  59. Approach them with an offer to
  60. do projects for them just for the experience.  Start with something
  61. small, learn from it, then
  62. tackle something a little larger.  Be upfront with them about your
  63. lack of experience so that they
  64. know what the situation is and won't expect more than you might be
  65. able to deliver.  Have
  66. consideration for them: don't agree to do a project if you are not
  67. sure that you will be successful
  68. and that project is so crucial to their work that it will hurt them if
  69. you fail.  Honesty and integrity
  70. will pay off in the long run.
  71.  
  72. This will take longer than three months of part-time work, but it is
  73. better to be unemployed and
  74. learning than just unemployed.  Keep in mind that your compensation
  75. for this is experience and
  76. all that you will learn. If you manage to do a good job, word will get
  77. around and you might find
  78. that you get a paid jop directly!  Here are just a few thoughts on how
  79. you can maximize your
  80. benefits from this situation:
  81.  
  82. 1) Don't think just of the coding.  Your objective in this should not
  83. be just to learn or prove that
  84. you know C++.  Employers have more concerns than just that (or the
  85. good ones do anyway).
  86. This project ought to involve analysis, design (reading a few books on
  87. OOD first would  be a
  88. good idea), coding, debugging, testing, producing technical and
  89. end-user documentation, and
  90. end-user training.  This covers a wide range of very different skills,
  91. all of which you will likely
  92. need in your professional life.  Push yourself and try to learn as
  93. much as possible about all of
  94. them.  Aim to produce a professional result from beginning to end.
  95.  
  96. 2) Do the project with a team of fellow students, say 4 - 5 (and
  97. ideally a mentor, but don't hold
  98. your breath looking for one).  Programming is rarely a solo activity
  99. and the human interaction
  100. aspect of it is important.  Doing it as part of a team will force you
  101. to consider many issues, such
  102. as: division of work, communication (can't stress this enough), design
  103. documentation, code
  104. documentation, maintaining a common coding style (for ease of
  105. maintainence), source control
  106. and code reviews.  You could look at a Microsoft press book called
  107. "Code Complete", it is an
  108. excellent overview of the software development process.  Think of the
  109. skills needed in the point
  110. above when you approach people to join your group.  If you can, try to
  111. include in the group at
  112. least one person that you do not like: you won't always work with your
  113. buddies.  The group
  114. dynamics can be fascinating and will affect the project more than you
  115. might expect.
  116.  
  117. 3) Be prepared to not use c++.  Non-OO experience is better that none
  118. at all.  (I hope that last
  119. statement does not start a religious war).  A lot of stuff out there
  120. is done without c++ and you
  121. should not expect to rework someone's workplace just to suit your own
  122. interests.  Using non-OO
  123. methods on this sort of project will give you a real appreciation of
  124. what the benefits of OO are!
  125.  
  126. 4) Write a critical report of how your group does in implementing the
  127. project and what you learn.
  128. You can not learn from your mistakes if you don't know what they are.
  129. Writing a report will force
  130. you to fous on what you are learning rather than what you are doing.
  131. Well done, it might also
  132. serve as a resource for your CS department (object reuse!).  The mere
  133. fact that you bothered to
  134. do this might well impress a prospective employer, though I doubt
  135. they'd be interested in the
  136. report itself.
  137.  
  138. Some other points to consider.  It would be an advantage to yourself
  139. to learn another OO
  140. language such as Smalltalk or Eiffel, even if you do not plan to use
  141. them.  You can never know
  142. too much and it might spark off some ideas in your head or give you a
  143. new approach to OOD.
  144.  
  145. Chuck Hill
  146.  
  147. <No cute tag line.>
  148. <Please send mail and flames to me at oiccn@chulkn.car.chula.ac.th  -
  149. thanks>
  150.  
  151.  
  152.